اهورا پی سی
اهورا پی سی

درك ارتباط بین جداول:

قبلا گفته شد كه جداول از طریق فیلدهای مشترك به یكدیگر مرتبط هستند. هرچند كه فیلدهای مشترك مرتبط شده, سبب تكرار برخی داده ها میشوند.(در هرجدولی كه به دیگری مرتبط است خود فیلد مشترك دوباره ظاهر می شود), ولی خواهید دید كه وقتی قدام به ایجاد پایگاه داده می كنید, فیلد مشترك كمك می كند تا بسیاری از داده های تكراری, كه در صورت نبود فیلد مشترك ایجاد می شود, از بین ببرید.
ممكن است واژه شناسی پایگاه داده ها گیج كننده باشد اما خوشبختانه ساده ترین زبان زبان ارتباطی است, كه چگونگی ارتباط جداول به یكدیگر را تعریف می كند. در این درس به سه روش ارتباط خواهیم پرداخت: 1-ارتباط یكی به یك 2-ارتباط یك به چند 3-ارتباط چند به چند

فیلدهای كلیدی منحصر به فرد ركوردها:

قبل از تشریح ارتباطات جداول, دقت داشته باشید كه اغلب جداول پایگاه داده, فیلدی به نام فیلد كلید دارند, كه به سایر فیلدهای جدول تقدم دارد. هرچند كه فیلد كلید لزوما مهمترین ارزش اطلاعاتی را ندارد, ولی دری هستند برای ورود به جدول كه نیاز اصلی ما در ارتباط شمرده می شود.فیلد كلید, فیلدی از جدول است كه بصورتی منحصر به فرد هر ركورد را تبیین می كند.(یعنی امكان اینكه فیلد كلید در دو ركورد مانند هم باشند وجود ندارد.)
توجه: فیلد كلید اصلی جدول باید مقداری منحصر به فرد داشته باشد. اكسس امكان تعیین چندین فیلد كلید را می دهد. اگر كلید از چندین فیلد تشكیل شده باشد, یك یا چند تا از این فیلدها ممكن است داده های تكراری داشته باشندولی وقتی تركیب شوند, فیلد ادغامی باید مقدار منحصر به فردی را ایجاد كند. توجه بیشتر به این مثال خالی از لطف نیست: جدول كارمندان معمولا شامل فیلدهایی از قبیل نام كارمند, نشانی, تاریخ تولد, میزان حقوق می شود. بعلاوه همیشه مانند كد ملی, یك شماره كارمندی دارند. كد ملی شما منحصر به فرد است یعنی تنها به یك نفر اختصاص دارد بنابراین این شماره كارمندی فیلد كلیدی خوبی برای فایل كارمندان است. به شكل 61 در زیر توجه كنید:

برای دسترسی به نام, نشانی یا حقوق هر كارمند, صرفنظر از تعداد كارمندان جدول اكسس فقط به شماره كارمند احتیاج دارد.هر كارمند شماره منحصر بفردی دارد لذا هنگامی كه اكسس یكبار شماره كارمندی را گرفت, می تواند آنرا با ركوردی از جدول پیوند دهد, یكبار برای هر ركورد. به این ترتیب اكسس می تواند به بقیه داده های ركورد در سایر فیلدها دسترسی داشته باشد.
توجه: اسامی فیلدها كلیدهای خوبی نیستند, چون افراد بسیاری نام یكسان دارندو یا بسیاری از افراد اسامی را به شكلهای گوناگون می نویسند. زمانی كه یك شركت به مشتریان, كارمندان و اجناس خود عددی را تخصیص می دهد, احتمالا آن شركت پروژه هایش را كامپیوتری كرده است. این اعداد می تواند كلید منحصر به فردی برای یافتن بقیه داده های مرتبط با آن باشند.
همچنین باید به نكته توجه داشته باشید كه فیلد كلید همواره فیلد ارتباط دوجدول مرتبط نیست ولی برای این كار بسیار مناسب است و غالبا برای همین منظور به كار می رود.
دو یا چند فیلد نیز می توانند یك كلید منحصر به فرد را تشكیل دهند. اغلب به فیلد كلید, فیلد كلید اصلی گفته می شود. اگر بخواهید كه دو یا چند فیلد همراه با یكدیگر به عنوان كلیدی منحصر به فرد عمل كنند, باید اكسس را وادارید تا فیلدهای ادغام شده را به عنوان یك فیلد منحصر به فرد در نظر گیرد. مثلا ممكن است بخواهید كه دو فیلد نام خانوادگی و كد پستی را یكدیگر ادغام كنید تا فیلد كلید نحصر به فردی ایجاد شود.
حال كه با مفهوم فیلد كلید برای ارتباط آشنا شدید به انواع ارتباط موجود در اكسس می پردازیم:

ارتباطات یك به یك(One to One):

شاید ارتباط یك به یك نادرترین ارتباط ممكن بین جداول باشد. هنگامی كه در دو جدول تعداد ركوردها یكسان باشد و هر ركورد یك جدول به ركورد دیگری در جدول دیگر مرتبط باشد, بك ارتباط یك به یك بوجود می آید. ارتباط یك به یك نادرست است چون معمولا می توانید آن دو جدول را در یك جدول ادغام كنید.
در شكل 62 در زیر مثالی از ارتباط یك به یك بین دو جدول نشان داده شده است. فیلد كد كالا كلید و فیلد ارتباط را تشكیل می دهد. نخستین ركورد در نخستین جدول به نخستین ركورد در دومین جدول مرتبط شده است.

خود شركت ماكروسافت توصیه می كند كه از ارتباط یك به یك اجتناب كنید. زیرا بهتر آن است كه دو جدول را در یك جدول بزرگتر ادغام كنید, كه این طریقه بسیار كارآتر است. در اكسس هر جدول می تواند تا 256 فیلد داشته باشد ولی اگر وجود جدولی با بیش از 256 فیلد ضرورت داشته باشد,فقط با ایجاد دو یا چند جدول و برقراری ارتباط یك به یك بین آنها, قادر به برآوردن این نیاز خواهید بود. كه برای این منظور هم ماكروسافت امكانات بسیاری را فراهم آورده است از ان جمله امكان دسترسی سریع به اطلاعات جدول دوم از طریق جدول اول بدون باز كردن آن جدول.

ارتباط یك به چند(One to Many):

ارتباط یك به چند شاید متداولترین نوع ارتباط بین جداول باشد. این ارتباط زمانی اتفاق می افتد كه یك ركورد از جدول به یك یا چند ركورد از جدول دیگر مرتبط باشد. به عنوان مثال در جدول موجودی برای هر كالایی كه فروخته می شود, یك ركورد وجود دارد. ولی در جدول سفارشات مشتریان ممكن است برای یك كالا, سفارشات متعددی وجود داشته باشد. در شكل 63 در زیر نمونه ای از ارتباط یك به چند جداول مشاهده می شود.


ارتباط یك به چند صرف جویی زیادی در فضای دیسك را سبب می شود. مثلا ارتباط یك به چندی كه در شكل 63 در بالا نشان داده شد, به شما امكان می دهد تا گزارشی تهیه كنید كه شامل مشتری همراه با شرح كالای سفارشی باشد. ولی شرح در هر ركورد سفارش نمی آید. شرح هركالا در جایی مستقل,در ركوردی منحصر بفرد در فایل موجودی قرار دارد. اكسس می تواند در هنگام نیاز, با استفاده از فیلد ارتباطی مشترك از جدول سفارش در جدول موجودی جستجو كند و شرح كالا را از آنجا بردارد. اكسس بدون فیلد كلید نمی تواند تعیین كند كه در برابر هر سفارش چه شرحی را باید قرار دهد.
توجه داشته باشید كه اكسس جدولهای مرتبط را می شناسدو در موقع لزوم اطلاعات صحیح را از آنها استخراج می كند. لذا باید هنگام ایجاد پایگاه داده اكسس این ارتباطات را به اكسس بفهمانید تا در هنگام مشاهده و چاپ داده ها از جداول مرتبط اكسس تمام كارها را انجام دهد.
همچنین قابل ذكر است كه ارتباط چند به یك و یك به چند مشابه هستند, لذا هر دو عبارت به یك معنی به كار می روند.

ارتباطات چند به چند(Many to Many):

اكسس ارتباطات چند به چند را مستقیما پشتیبانی نمی كند ولی می توانید آن را شبیه سازی كنید. ارتباط چند به چند هنگامی ایجاد می شود كه ركوردهای متعددی از یك جدول به یك یا چند ركورد از جدول دیگر مرتبط باشند. براساس تصاویر جداولی كه قبلا مشاهده كرده اید, می توان چنین تصور كرد كه خریداران متعددی, محصولات متعددی را سفارش دهند. بنابراین بین خریداران و محصولات یك ارتباط چند به چند وجود دارد.
جدول خریداران و جدول موجودی محصولات از طریق جدول سفارش به هم متصل می شوند.بنابراین برای ارتباط چند به چند بین خریداران و موجودی محصولات, جدول سفارشات بعنوان واسطه بین این دو جدول عمل می كند.جدول خریداران ارتباطی یك به چند با جدول سفارشات دارد و جدول محصولات نیز ارتباطی یك به چند با جدول سفارشات دارد.پس همانطور كه در شكل 64 در زیر می بینید جدول سفارشات بطور غیر مستقیم بین خریداران و محصولات ارتباط چند به چند ایجاد می كند.


گاهی اوقات, جدول مركزی یا واسطه در ارتباط چند به چند جدول اتصال خوانده می شود. فیلدهای كلید اصلی هر دو جدولی كه قرار است به هم مرتبط شوند, باید در این جدول وجود داشته باشد.
درس ارتباطات هم در این قسمت تمام شد و امیدوارم دیگر جای ابهامی در مورد انواع ارتباطات باقی نمانده باشد.

طراحی یک پایگاه داده های جدید

در درس پیش در مورد ارتباطات جداول به طور مفصل توضیحاتی دادیم و انواع ارتباطات را شناختیم حال دیگر قادر به ایجاد پایگاه داده دلخواه خود هستیم و این كار را به تدریج از این درس كه مقدمی بر ایجاد پایگاه داده جدید است آغاز می كنیم.
در این درس در مورد جادوگرهای اكسس (Wizards) صحبت خواهیم كرد. این جادوگرها شما را در ایجاد برنامه های كاربردی متداول پایگاه داده ها, از قبیل مدیریت فهرست پستی یا ورود سفارشات راهنمایی می كنند.هرچند كه نیازهای شما به كار خاص موردنظر یا احتیاجات شخصیتان مربوط است, اما بیشتر پایگاه داده ها به یكی از نمونه های كلی پایگاه داده تعلق دارند. جادوهای اكسس چهارچوب پایگاه داده برنامه كاربردی را ایجاد می كنند, در مرحله بعد شما می توانید آن را اصلاح كنید تا با نیازهای خاص شما تطابق داشته باشد. اما به هرحال برای ایجاد پایگاه داده مجبور به استفاده از جادوگر نیستید. شاید جادوگرها به كنترل مورد نظر شما به عنوان یك پایگاه داده امكانات لازم را فراهم نكنند.

ایجاد پایگاه داده های جدید با استفاده از جادوگر:

برای ایجاد یك پایگاه داده با بهره گیری از جادوگر(Wizard) باید هنگام وارد شدن به اكسس از طریق پنجره اولیه قسمت Access database wizards,pages and projects را انتخاب كنید و یا اگر وارد محیط اكسس شده اید از منو File گزینه New را انتخاب كنید,تا پنجره محاوره ای New كه دارای دو سربرگ است ظاهر شود.
هنگامی كه سربرگ General (عمومی) را انتخاب می كنید, صفحه General ظاهر می شود كه با آن می توانید یك پایگاه داده خالی ایجاد كنید. در دروس بعدی نحوه ایجاد یك پایگاه داده خالی را شرح خواهم داد. اصولا زمانی پایگاه داده خالی لیجاد می كنیم كه بخواهیم تمامی جنبه های اولیه طراحی و ایجاد پایگاه داده را كنترل كنیم. زمانی كه یك پایگاه داده جدید و خالی ایجاد می كنیم اكسس كاری برای شما انجام نمی دهد و هیچ پیش فرضی راجع به پایگاه داده ای كه می خواهید ایجاد كنید,ندارد.
ولی به جای ایجاد یك پایگاه داده خالی می توانید بر روی سربرگ Databases كلیك كنید تا صفحه Databases در پنجره محاوره ای New, نمایان شود. توجه داشته باشید كه جادوگر راهنمای گام به گام اكسس است كه در انجام كارهایی از قبیل ایجاد پایگاه داده جدید به شما كمك می كند. اگر اكسس جادوگری داشته باشد كه امكان ایجاد پایگاه داده ای مشابه آنچه لازم دارید را فراهم سازد راحتتر آن است كه بجای این كه از ابتدا پایگاه داده ایجاد كنید, جادوگر را به كار اندازید. در زیر هر یك از پایگاه داده هایی كه توسط جادوگر می توان ایجاد كرد تشریح شده است, برای اجرای آن كافی است كه نماد مربوطه را انتخاب كنید و بر روی كلید Ok كلیك كنید.
حال به جادوگرهای موجود و كاری كه برای شما در اكسس انجام می دهند توجه كنید:
------------------
Asset Tracking(
پیگیری اموال): پایگاه داده ای برای مدیریت, نگهداری اموال, فروشندگان و كارمندان شركت ایجاد می كند.
Contact Managment(
مدیریت ملاقاتها): پایگاه داده ای برای قرارهای ملاقات و تماسهای تلفنی شخصی شما ایجاد می كند.
Event Managment(
مدیریت وقایع):یك پایگاه داده برای وقایعی مانند قراردادها(موافقت نامه ها), كارمندان و قیمتها ایجاد می كند.
Expenses(
مخارج و هزینه ها):یك پایگاه داده برای نگهداری گزارشهای مخارج ایجاد می كند.
Inventory Control(
كنترل موجودی):پایگاه داده ای برای اطلاعات محصولات, خریداران و سفارشات ایجاد می كند.
Ledger(
حساب كل): پایگاه داده ای برای حسابهای كل, شامل تبادلات و حسابها ایجاد می كند.
Order Entry(
دریافت سفارش): پایگاه داده ای برای مدیریت سفارشات خریداران, پرداختها و محصولات ایجاد می كند. در این پایگاه داده سیستمی از جداول ایجاد میشود كه تاحدودی به جداولی كه در قبلا در درسهای پیش شرح دادیم تطابق دارد.
Resource Scheduling(
زمانبندی منابع): پایگاه داده ای برای مدیریت منابعی از قبیل زمانبندی و اقلام خریداران ایجاد می كند.

Service Call Managment(مدیریت سرویس تلفن):

پایگاه داده ای برای نگهداری اطلاعات خریداران, كار, دستورات كار, قطعات و پرداختها ایجاد می كند. Time and billing(زمان و صورتحساب): پایگاه داده ای برای نگهداری مشتریان, پروژه ها, كارتهای زمانی, كارمندان و پرداختها ایجاد می كند.
-------------------
توجه كنید كه اگر جادوگری انتخاب كنید در همان پنجره New در طرف راست زیر قسمت Preview شكلی هدف پایگاه داده را كه چندان واضح نیست نشان می دهد یعنی شما می توانید با انتخاب پایگاه داده ابتدا از هدف ایجاد آن از طریق این شكل مطلع شوید و سپس برروی

نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:





ارسال در تاريخ جمعه 27 خرداد 1390برچسب:, توسط اهورا